package edu.del.teamknowledgebase.service.sms;

/**
 * 短信服务接口
 */
public interface SmsService {

    /**
     * 发送验证码
     *
     * @param phone 手机号码
     * @param code  验证码
     * @return 是否成功
     */
    boolean sendVerificationCode(String phone, String code);

    /**
     * 是否可以发送验证码（频率限制检查）
     *
     * @param phone 手机号码
     * @return 是否可以发送
     */
    boolean canSendCode(String phone);

    /**
     * 获取剩余的冷却时间（秒）
     *
     * @param phone 手机号码
     * @return 剩余的冷却时间（秒）
     */
    long getRemainingCooldown(String phone);

    /**
     * 验证码验证
     *
     * @param phone 手机号码
     * @param code  验证码
     * @return 是否验证成功
     */
    boolean verifyCode(String phone, String code);
}
